home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
021-030
/
amok28
/
turtle
/
turtledemo.mod
< prev
next >
Wrap
Text File
|
1993-11-04
|
3KB
|
108 lines
MODULE TurtleDemo;
FROM Turtle IMPORT InitTurtleScr, Forward, Back, Left, Right, SetHeading,
PenUp, PenDown, PenColor, MoveTo, dMove, HideTurtle,
PlotText;
FROM Arts IMPORT TermProcedure;
FROM SYSTEM IMPORT ADR;
FROM Intuition IMPORT ScreenPtr, NewScreen, OpenScreen, CloseScreen;
FROM Graphics IMPORT ViewModeSet;
VAR
sp : ScreenPtr;
ns : NewScreen;
Ecken, Zaehler, Winkel, n : INTEGER;
Ciapra[0BFE001H] : SET OF (s0,s1,s2,s3,s4,s5,lmb);
PROCEDURE Close;
BEGIN
IF sp # NIL THEN CloseScreen(sp); END;
END Close;
BEGIN
TermProcedure(Close);
FOR n := 0 TO 1 DO (* einmal mit Turtle, dann ohne Turtle <HideTurtle>
--> noch (!) schneller !!! *)
WITH ns DO
width := 320; height := 250; depth := 8;
viewModes := ViewModeSet{}; blockPen := 1;
IF n = 0 THEN defaultTitle := ADR("Turtlegrafik - D E M O von M.Weigl");
ELSE defaultTitle := ADR("... und jetzt noch schneller"); END;
END;
sp := OpenScreen(ns);
InitTurtleScr(sp);
IF n = 1 THEN HideTurtle; END;
(* n-Eck *)
MoveTo(10,12);
FOR Ecken := 3 TO 8 DO
Winkel := 360/Ecken;
SetHeading(90);
FOR Zaehler := 1 TO Ecken DO
PenColor(Ecken-2);
Forward(20);
Right(Winkel);
END;
dMove(50,0);
END;
(* n-Stern *)
MoveTo(20,110);
PenColor(4);
FOR Ecken := 11 TO 5 BY -2 DO
Winkel := 720/Ecken;
SetHeading(90);
FOR Zaehler := 1 TO Ecken DO
Forward(40);
Left(Winkel);
END;
dMove(70,0);
END;
(* rotierende Quadrate *)
MoveTo(20,150);
PenColor(6);
FOR Winkel := 45 TO 135 BY 10 DO
SetHeading(Winkel);
PenUp;
Forward(18);
Left(135);
PenDown;
FOR Zaehler := 1 TO 4 DO
Forward(25);
Left(90);
END;
SetHeading(Winkel);
PenUp;
Back(18);
dMove(20,0);
END;
MoveTo(260,180);
PenColor(3);
PenDown;
FOR Winkel := 0 TO 360 BY 9 DO
SetHeading(Winkel);
FOR Zaehler := 1 TO 4 DO
Forward(30);
Left(90);
END;
END;
IF n = 0 THEN
PenColor(2);
PlotText(10,195,"falls Ihnen das noch nicht");
PlotText(10,210,"schnell genug war, sollten Sie");
PlotText(10,225,"die linke Maustaste drücken !!");
ELSE
PenColor(5);
PlotText(40,230,"... überrascht ??");
END;
REPEAT UNTIL NOT (lmb IN Ciapra);
IF n = 0 THEN Close; END;
END;
END TurtleDemo.